// 猜数字游戏，可以猜10次，程序给出比生成的随机数大了还是小了
package main

import (
	"bufio"
	"fmt"
	"log"
	"math/rand"
	"os"
	"strconv"
	"strings"
	"time"
)

func main() {
	seconds := time.Now().Unix()
	rand.Seed(seconds)

	// 要猜测的数字
	var targetNumber int = rand.Intn(100) + 1
	// fmt.Println(targetNumber)

	fmt.Println("我已经生成了一个随机数，数字保密。")

	reader := bufio.NewReader(os.Stdin)

	success := false
	for totalGuessCount := 10; totalGuessCount >= 0; totalGuessCount-- {
		fmt.Println("你有这么多可以猜测的机会：", totalGuessCount)
		fmt.Print("请输入一个你猜测的数字：")
		input, err := reader.ReadString('\n')
		if err != nil {
			log.Fatal(err)
		}
		input = strings.TrimSpace(input)
		inputNumber, err := strconv.Atoi(input)
		if err != nil {
			log.Fatal(err)
		}

		if inputNumber < targetNumber {
			fmt.Println("你猜的小了")
		} else if inputNumber > targetNumber {
			fmt.Println("你猜的大了")
		} else {
			fmt.Println("恭喜你，你才对了，随机数字=", targetNumber, "你的数字刚好是：", inputNumber)
			success = true
			break
		}
	}

	if !success {
		fmt.Println("很遗憾你没猜对，正确数字是：", targetNumber)
	}
}
